package com.loong.news.common.backend.param;

import com.loong.common.mybatis.entity.BaseEntity;
import com.loong.common.validator.group.CommonInsert;
import com.loong.common.validator.group.CommonUpdate;
import com.loong.common.validator.group.CommonValidate;
import lombok.*;

import javax.persistence.Column;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;

@Builder
@Setter
@Getter
@AllArgsConstructor
@NoArgsConstructor
public class NewsParam {
    /**
     * id
     */
    @NotNull(message = "更新时id不能为空",groups = {CommonUpdate.class})
    private Long id;
    /**
     * 新闻标题
     */
    @NotBlank(message = "新增新闻时标题不能为空",groups = {CommonInsert.class})
    private String title;
    /**
     * 新闻类别
     */
    @NotNull(message = "新增新闻时类别不能为空",groups = {CommonInsert.class})
    private Long categoryId;
    /**
     * 新闻来源
     */
    @NotBlank(message = "新增新闻时来源不能为空",groups = {CommonInsert.class})
    private String press;
    /**
     * 作者
     */
    @NotBlank(message = "新增新闻时作者不能为空",groups = {CommonInsert.class})
    private String author;
    /**
     * 关键字
     */
    private String keyWord;
    /**
     * 图片
     */
    private String picturePath;
    /**
     * 视频
     */
    private String videoPath;
    /**
     * 图片和视频的总数
     */
    private Integer imageAndVideoNum;
    /**
     * 新闻状态：1未审核 2未发布 3已发布 4已驳回
     */
    private Integer status;
    /**
     * 阅读数
     */
    private Long readNum;
    /**
     * 分享数
     */
    private Long shareNum;
    /**
     * 点赞数
     */
    private Long likeNum;
    /**
     * 举报数
     */
    private Long unlikeNum;
    /**
     * 发布时间
     */
    private Date releaseTime;
    /**
     * 驳回时间
     */
    private Date rejectTime;
    /**
     * 置顶
     */
    private Boolean top;
    /**
     * 新闻内容
     */
    private String content;
    /**
     * 新闻概述
     */
    private String summarize;
    /**
     * 创建时间
     */
    private Date createTime;
    /**
     * 更新时间
     */
    private Date lastUpdateTime;
    /**
     * 账户
     */
    @NotNull(message = "操作新闻时操作人不能为空",groups = {CommonUpdate.class,CommonInsert.class})
    private String account;
}